let express = require('express');
let path = require('path');
let app = express();
let router = require('./router');
let bodyParser = require('body-parser');
let session = require('express-session');
// 开放静态资源
app.use('/public/', express.static(path.join(__dirname, './public/')));
app.use('/node_modules/', express.static(path.join(__dirname, './node_modules/')));

// 配置模板引擎
app.engine('html', require('express-art-template'));
app.set('views', path.join(__dirname, './views/')); // 默认就是./views目录，这样写方便以后修改
// 配置中间件
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
// 在Express这个框架中，默认不支持Session和Cookie
// 但我们可以使用第三方中间件：express-session来解决
// npm install express-session 配置使用
// 在配置好之后，我们就可以通过req.session来发访问和设置 Session成员
// 添加Session数据(req.session.foo = 'bar')，访问Session数据(req.session.foo)
app.use(session({
  secret: 'itcast', // 配置加密字符串，会在原有加密基础上和字符串拼接起来去加密。目的是为了增加安全性，防止客户端恶意伪造
  resave: false,
  saveUninitialized: true // 无论你是否使用Session，都会默认分配一把钥匙
}));

// 路由挂载到app中
app.use(router);

app.listen(3000, function () {
  console.log('app is running in 3000');
})